package com.cn.jinl.domain;

import java.util.ArrayList;
import java.util.List;

public class MeterPowerExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MeterPowerExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSnIsNull() {
            addCriterion("sn is null");
            return (Criteria) this;
        }

        public Criteria andSnIsNotNull() {
            addCriterion("sn is not null");
            return (Criteria) this;
        }

        public Criteria andSnEqualTo(String value) {
            addCriterion("sn =", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnNotEqualTo(String value) {
            addCriterion("sn <>", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnGreaterThan(String value) {
            addCriterion("sn >", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnGreaterThanOrEqualTo(String value) {
            addCriterion("sn >=", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnLessThan(String value) {
            addCriterion("sn <", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnLessThanOrEqualTo(String value) {
            addCriterion("sn <=", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnLike(String value) {
            addCriterion("sn like", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnNotLike(String value) {
            addCriterion("sn not like", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnIn(List<String> values) {
            addCriterion("sn in", values, "sn");
            return (Criteria) this;
        }

        public Criteria andSnNotIn(List<String> values) {
            addCriterion("sn not in", values, "sn");
            return (Criteria) this;
        }

        public Criteria andSnBetween(String value1, String value2) {
            addCriterion("sn between", value1, value2, "sn");
            return (Criteria) this;
        }

        public Criteria andSnNotBetween(String value1, String value2) {
            addCriterion("sn not between", value1, value2, "sn");
            return (Criteria) this;
        }

        public Criteria andMaddIsNull() {
            addCriterion("madd is null");
            return (Criteria) this;
        }

        public Criteria andMaddIsNotNull() {
            addCriterion("madd is not null");
            return (Criteria) this;
        }

        public Criteria andMaddEqualTo(String value) {
            addCriterion("madd =", value, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddNotEqualTo(String value) {
            addCriterion("madd <>", value, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddGreaterThan(String value) {
            addCriterion("madd >", value, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddGreaterThanOrEqualTo(String value) {
            addCriterion("madd >=", value, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddLessThan(String value) {
            addCriterion("madd <", value, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddLessThanOrEqualTo(String value) {
            addCriterion("madd <=", value, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddLike(String value) {
            addCriterion("madd like", value, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddNotLike(String value) {
            addCriterion("madd not like", value, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddIn(List<String> values) {
            addCriterion("madd in", values, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddNotIn(List<String> values) {
            addCriterion("madd not in", values, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddBetween(String value1, String value2) {
            addCriterion("madd between", value1, value2, "madd");
            return (Criteria) this;
        }

        public Criteria andMaddNotBetween(String value1, String value2) {
            addCriterion("madd not between", value1, value2, "madd");
            return (Criteria) this;
        }

        public Criteria andSnumIsNull() {
            addCriterion("snum is null");
            return (Criteria) this;
        }

        public Criteria andSnumIsNotNull() {
            addCriterion("snum is not null");
            return (Criteria) this;
        }

        public Criteria andSnumEqualTo(String value) {
            addCriterion("snum =", value, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumNotEqualTo(String value) {
            addCriterion("snum <>", value, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumGreaterThan(String value) {
            addCriterion("snum >", value, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumGreaterThanOrEqualTo(String value) {
            addCriterion("snum >=", value, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumLessThan(String value) {
            addCriterion("snum <", value, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumLessThanOrEqualTo(String value) {
            addCriterion("snum <=", value, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumLike(String value) {
            addCriterion("snum like", value, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumNotLike(String value) {
            addCriterion("snum not like", value, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumIn(List<String> values) {
            addCriterion("snum in", values, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumNotIn(List<String> values) {
            addCriterion("snum not in", values, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumBetween(String value1, String value2) {
            addCriterion("snum between", value1, value2, "snum");
            return (Criteria) this;
        }

        public Criteria andSnumNotBetween(String value1, String value2) {
            addCriterion("snum not between", value1, value2, "snum");
            return (Criteria) this;
        }

        public Criteria andTime1IsNull() {
            addCriterion("time1 is null");
            return (Criteria) this;
        }

        public Criteria andTime1IsNotNull() {
            addCriterion("time1 is not null");
            return (Criteria) this;
        }

        public Criteria andTime1EqualTo(String value) {
            addCriterion("time1 =", value, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1NotEqualTo(String value) {
            addCriterion("time1 <>", value, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1GreaterThan(String value) {
            addCriterion("time1 >", value, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1GreaterThanOrEqualTo(String value) {
            addCriterion("time1 >=", value, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1LessThan(String value) {
            addCriterion("time1 <", value, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1LessThanOrEqualTo(String value) {
            addCriterion("time1 <=", value, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1Like(String value) {
            addCriterion("time1 like", value, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1NotLike(String value) {
            addCriterion("time1 not like", value, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1In(List<String> values) {
            addCriterion("time1 in", values, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1NotIn(List<String> values) {
            addCriterion("time1 not in", values, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1Between(String value1, String value2) {
            addCriterion("time1 between", value1, value2, "time1");
            return (Criteria) this;
        }

        public Criteria andTime1NotBetween(String value1, String value2) {
            addCriterion("time1 not between", value1, value2, "time1");
            return (Criteria) this;
        }

        public Criteria andTpIsNull() {
            addCriterion("tp is null");
            return (Criteria) this;
        }

        public Criteria andTpIsNotNull() {
            addCriterion("tp is not null");
            return (Criteria) this;
        }

        public Criteria andTpEqualTo(String value) {
            addCriterion("tp =", value, "tp");
            return (Criteria) this;
        }

        public Criteria andTpNotEqualTo(String value) {
            addCriterion("tp <>", value, "tp");
            return (Criteria) this;
        }

        public Criteria andTpGreaterThan(String value) {
            addCriterion("tp >", value, "tp");
            return (Criteria) this;
        }

        public Criteria andTpGreaterThanOrEqualTo(String value) {
            addCriterion("tp >=", value, "tp");
            return (Criteria) this;
        }

        public Criteria andTpLessThan(String value) {
            addCriterion("tp <", value, "tp");
            return (Criteria) this;
        }

        public Criteria andTpLessThanOrEqualTo(String value) {
            addCriterion("tp <=", value, "tp");
            return (Criteria) this;
        }

        public Criteria andTpLike(String value) {
            addCriterion("tp like", value, "tp");
            return (Criteria) this;
        }

        public Criteria andTpNotLike(String value) {
            addCriterion("tp not like", value, "tp");
            return (Criteria) this;
        }

        public Criteria andTpIn(List<String> values) {
            addCriterion("tp in", values, "tp");
            return (Criteria) this;
        }

        public Criteria andTpNotIn(List<String> values) {
            addCriterion("tp not in", values, "tp");
            return (Criteria) this;
        }

        public Criteria andTpBetween(String value1, String value2) {
            addCriterion("tp between", value1, value2, "tp");
            return (Criteria) this;
        }

        public Criteria andTpNotBetween(String value1, String value2) {
            addCriterion("tp not between", value1, value2, "tp");
            return (Criteria) this;
        }

        public Criteria andPaIsNull() {
            addCriterion("pa is null");
            return (Criteria) this;
        }

        public Criteria andPaIsNotNull() {
            addCriterion("pa is not null");
            return (Criteria) this;
        }

        public Criteria andPaEqualTo(String value) {
            addCriterion("pa =", value, "pa");
            return (Criteria) this;
        }

        public Criteria andPaNotEqualTo(String value) {
            addCriterion("pa <>", value, "pa");
            return (Criteria) this;
        }

        public Criteria andPaGreaterThan(String value) {
            addCriterion("pa >", value, "pa");
            return (Criteria) this;
        }

        public Criteria andPaGreaterThanOrEqualTo(String value) {
            addCriterion("pa >=", value, "pa");
            return (Criteria) this;
        }

        public Criteria andPaLessThan(String value) {
            addCriterion("pa <", value, "pa");
            return (Criteria) this;
        }

        public Criteria andPaLessThanOrEqualTo(String value) {
            addCriterion("pa <=", value, "pa");
            return (Criteria) this;
        }

        public Criteria andPaLike(String value) {
            addCriterion("pa like", value, "pa");
            return (Criteria) this;
        }

        public Criteria andPaNotLike(String value) {
            addCriterion("pa not like", value, "pa");
            return (Criteria) this;
        }

        public Criteria andPaIn(List<String> values) {
            addCriterion("pa in", values, "pa");
            return (Criteria) this;
        }

        public Criteria andPaNotIn(List<String> values) {
            addCriterion("pa not in", values, "pa");
            return (Criteria) this;
        }

        public Criteria andPaBetween(String value1, String value2) {
            addCriterion("pa between", value1, value2, "pa");
            return (Criteria) this;
        }

        public Criteria andPaNotBetween(String value1, String value2) {
            addCriterion("pa not between", value1, value2, "pa");
            return (Criteria) this;
        }

        public Criteria andPa1IsNull() {
            addCriterion("pa1 is null");
            return (Criteria) this;
        }

        public Criteria andPa1IsNotNull() {
            addCriterion("pa1 is not null");
            return (Criteria) this;
        }

        public Criteria andPa1EqualTo(String value) {
            addCriterion("pa1 =", value, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1NotEqualTo(String value) {
            addCriterion("pa1 <>", value, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1GreaterThan(String value) {
            addCriterion("pa1 >", value, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1GreaterThanOrEqualTo(String value) {
            addCriterion("pa1 >=", value, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1LessThan(String value) {
            addCriterion("pa1 <", value, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1LessThanOrEqualTo(String value) {
            addCriterion("pa1 <=", value, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1Like(String value) {
            addCriterion("pa1 like", value, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1NotLike(String value) {
            addCriterion("pa1 not like", value, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1In(List<String> values) {
            addCriterion("pa1 in", values, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1NotIn(List<String> values) {
            addCriterion("pa1 not in", values, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1Between(String value1, String value2) {
            addCriterion("pa1 between", value1, value2, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa1NotBetween(String value1, String value2) {
            addCriterion("pa1 not between", value1, value2, "pa1");
            return (Criteria) this;
        }

        public Criteria andPa2IsNull() {
            addCriterion("pa2 is null");
            return (Criteria) this;
        }

        public Criteria andPa2IsNotNull() {
            addCriterion("pa2 is not null");
            return (Criteria) this;
        }

        public Criteria andPa2EqualTo(String value) {
            addCriterion("pa2 =", value, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2NotEqualTo(String value) {
            addCriterion("pa2 <>", value, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2GreaterThan(String value) {
            addCriterion("pa2 >", value, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2GreaterThanOrEqualTo(String value) {
            addCriterion("pa2 >=", value, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2LessThan(String value) {
            addCriterion("pa2 <", value, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2LessThanOrEqualTo(String value) {
            addCriterion("pa2 <=", value, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2Like(String value) {
            addCriterion("pa2 like", value, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2NotLike(String value) {
            addCriterion("pa2 not like", value, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2In(List<String> values) {
            addCriterion("pa2 in", values, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2NotIn(List<String> values) {
            addCriterion("pa2 not in", values, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2Between(String value1, String value2) {
            addCriterion("pa2 between", value1, value2, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa2NotBetween(String value1, String value2) {
            addCriterion("pa2 not between", value1, value2, "pa2");
            return (Criteria) this;
        }

        public Criteria andPa3IsNull() {
            addCriterion("pa3 is null");
            return (Criteria) this;
        }

        public Criteria andPa3IsNotNull() {
            addCriterion("pa3 is not null");
            return (Criteria) this;
        }

        public Criteria andPa3EqualTo(String value) {
            addCriterion("pa3 =", value, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3NotEqualTo(String value) {
            addCriterion("pa3 <>", value, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3GreaterThan(String value) {
            addCriterion("pa3 >", value, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3GreaterThanOrEqualTo(String value) {
            addCriterion("pa3 >=", value, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3LessThan(String value) {
            addCriterion("pa3 <", value, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3LessThanOrEqualTo(String value) {
            addCriterion("pa3 <=", value, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3Like(String value) {
            addCriterion("pa3 like", value, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3NotLike(String value) {
            addCriterion("pa3 not like", value, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3In(List<String> values) {
            addCriterion("pa3 in", values, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3NotIn(List<String> values) {
            addCriterion("pa3 not in", values, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3Between(String value1, String value2) {
            addCriterion("pa3 between", value1, value2, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa3NotBetween(String value1, String value2) {
            addCriterion("pa3 not between", value1, value2, "pa3");
            return (Criteria) this;
        }

        public Criteria andPa4IsNull() {
            addCriterion("pa4 is null");
            return (Criteria) this;
        }

        public Criteria andPa4IsNotNull() {
            addCriterion("pa4 is not null");
            return (Criteria) this;
        }

        public Criteria andPa4EqualTo(String value) {
            addCriterion("pa4 =", value, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4NotEqualTo(String value) {
            addCriterion("pa4 <>", value, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4GreaterThan(String value) {
            addCriterion("pa4 >", value, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4GreaterThanOrEqualTo(String value) {
            addCriterion("pa4 >=", value, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4LessThan(String value) {
            addCriterion("pa4 <", value, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4LessThanOrEqualTo(String value) {
            addCriterion("pa4 <=", value, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4Like(String value) {
            addCriterion("pa4 like", value, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4NotLike(String value) {
            addCriterion("pa4 not like", value, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4In(List<String> values) {
            addCriterion("pa4 in", values, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4NotIn(List<String> values) {
            addCriterion("pa4 not in", values, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4Between(String value1, String value2) {
            addCriterion("pa4 between", value1, value2, "pa4");
            return (Criteria) this;
        }

        public Criteria andPa4NotBetween(String value1, String value2) {
            addCriterion("pa4 not between", value1, value2, "pa4");
            return (Criteria) this;
        }

        public Criteria andRpIsNull() {
            addCriterion("rp is null");
            return (Criteria) this;
        }

        public Criteria andRpIsNotNull() {
            addCriterion("rp is not null");
            return (Criteria) this;
        }

        public Criteria andRpEqualTo(String value) {
            addCriterion("rp =", value, "rp");
            return (Criteria) this;
        }

        public Criteria andRpNotEqualTo(String value) {
            addCriterion("rp <>", value, "rp");
            return (Criteria) this;
        }

        public Criteria andRpGreaterThan(String value) {
            addCriterion("rp >", value, "rp");
            return (Criteria) this;
        }

        public Criteria andRpGreaterThanOrEqualTo(String value) {
            addCriterion("rp >=", value, "rp");
            return (Criteria) this;
        }

        public Criteria andRpLessThan(String value) {
            addCriterion("rp <", value, "rp");
            return (Criteria) this;
        }

        public Criteria andRpLessThanOrEqualTo(String value) {
            addCriterion("rp <=", value, "rp");
            return (Criteria) this;
        }

        public Criteria andRpLike(String value) {
            addCriterion("rp like", value, "rp");
            return (Criteria) this;
        }

        public Criteria andRpNotLike(String value) {
            addCriterion("rp not like", value, "rp");
            return (Criteria) this;
        }

        public Criteria andRpIn(List<String> values) {
            addCriterion("rp in", values, "rp");
            return (Criteria) this;
        }

        public Criteria andRpNotIn(List<String> values) {
            addCriterion("rp not in", values, "rp");
            return (Criteria) this;
        }

        public Criteria andRpBetween(String value1, String value2) {
            addCriterion("rp between", value1, value2, "rp");
            return (Criteria) this;
        }

        public Criteria andRpNotBetween(String value1, String value2) {
            addCriterion("rp not between", value1, value2, "rp");
            return (Criteria) this;
        }

        public Criteria andR1pIsNull() {
            addCriterion("r1p is null");
            return (Criteria) this;
        }

        public Criteria andR1pIsNotNull() {
            addCriterion("r1p is not null");
            return (Criteria) this;
        }

        public Criteria andR1pEqualTo(String value) {
            addCriterion("r1p =", value, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pNotEqualTo(String value) {
            addCriterion("r1p <>", value, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pGreaterThan(String value) {
            addCriterion("r1p >", value, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pGreaterThanOrEqualTo(String value) {
            addCriterion("r1p >=", value, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pLessThan(String value) {
            addCriterion("r1p <", value, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pLessThanOrEqualTo(String value) {
            addCriterion("r1p <=", value, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pLike(String value) {
            addCriterion("r1p like", value, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pNotLike(String value) {
            addCriterion("r1p not like", value, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pIn(List<String> values) {
            addCriterion("r1p in", values, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pNotIn(List<String> values) {
            addCriterion("r1p not in", values, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pBetween(String value1, String value2) {
            addCriterion("r1p between", value1, value2, "r1p");
            return (Criteria) this;
        }

        public Criteria andR1pNotBetween(String value1, String value2) {
            addCriterion("r1p not between", value1, value2, "r1p");
            return (Criteria) this;
        }

        public Criteria andR2pIsNull() {
            addCriterion("r2p is null");
            return (Criteria) this;
        }

        public Criteria andR2pIsNotNull() {
            addCriterion("r2p is not null");
            return (Criteria) this;
        }

        public Criteria andR2pEqualTo(String value) {
            addCriterion("r2p =", value, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pNotEqualTo(String value) {
            addCriterion("r2p <>", value, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pGreaterThan(String value) {
            addCriterion("r2p >", value, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pGreaterThanOrEqualTo(String value) {
            addCriterion("r2p >=", value, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pLessThan(String value) {
            addCriterion("r2p <", value, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pLessThanOrEqualTo(String value) {
            addCriterion("r2p <=", value, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pLike(String value) {
            addCriterion("r2p like", value, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pNotLike(String value) {
            addCriterion("r2p not like", value, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pIn(List<String> values) {
            addCriterion("r2p in", values, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pNotIn(List<String> values) {
            addCriterion("r2p not in", values, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pBetween(String value1, String value2) {
            addCriterion("r2p between", value1, value2, "r2p");
            return (Criteria) this;
        }

        public Criteria andR2pNotBetween(String value1, String value2) {
            addCriterion("r2p not between", value1, value2, "r2p");
            return (Criteria) this;
        }

        public Criteria andMaxdIsNull() {
            addCriterion("maxd is null");
            return (Criteria) this;
        }

        public Criteria andMaxdIsNotNull() {
            addCriterion("maxd is not null");
            return (Criteria) this;
        }

        public Criteria andMaxdEqualTo(String value) {
            addCriterion("maxd =", value, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdNotEqualTo(String value) {
            addCriterion("maxd <>", value, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdGreaterThan(String value) {
            addCriterion("maxd >", value, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdGreaterThanOrEqualTo(String value) {
            addCriterion("maxd >=", value, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdLessThan(String value) {
            addCriterion("maxd <", value, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdLessThanOrEqualTo(String value) {
            addCriterion("maxd <=", value, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdLike(String value) {
            addCriterion("maxd like", value, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdNotLike(String value) {
            addCriterion("maxd not like", value, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdIn(List<String> values) {
            addCriterion("maxd in", values, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdNotIn(List<String> values) {
            addCriterion("maxd not in", values, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdBetween(String value1, String value2) {
            addCriterion("maxd between", value1, value2, "maxd");
            return (Criteria) this;
        }

        public Criteria andMaxdNotBetween(String value1, String value2) {
            addCriterion("maxd not between", value1, value2, "maxd");
            return (Criteria) this;
        }

        public Criteria andIfpIsNull() {
            addCriterion("ifp is null");
            return (Criteria) this;
        }

        public Criteria andIfpIsNotNull() {
            addCriterion("ifp is not null");
            return (Criteria) this;
        }

        public Criteria andIfpEqualTo(String value) {
            addCriterion("ifp =", value, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpNotEqualTo(String value) {
            addCriterion("ifp <>", value, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpGreaterThan(String value) {
            addCriterion("ifp >", value, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpGreaterThanOrEqualTo(String value) {
            addCriterion("ifp >=", value, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpLessThan(String value) {
            addCriterion("ifp <", value, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpLessThanOrEqualTo(String value) {
            addCriterion("ifp <=", value, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpLike(String value) {
            addCriterion("ifp like", value, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpNotLike(String value) {
            addCriterion("ifp not like", value, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpIn(List<String> values) {
            addCriterion("ifp in", values, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpNotIn(List<String> values) {
            addCriterion("ifp not in", values, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpBetween(String value1, String value2) {
            addCriterion("ifp between", value1, value2, "ifp");
            return (Criteria) this;
        }

        public Criteria andIfpNotBetween(String value1, String value2) {
            addCriterion("ifp not between", value1, value2, "ifp");
            return (Criteria) this;
        }

        public Criteria andTfIsNull() {
            addCriterion("tf is null");
            return (Criteria) this;
        }

        public Criteria andTfIsNotNull() {
            addCriterion("tf is not null");
            return (Criteria) this;
        }

        public Criteria andTfEqualTo(String value) {
            addCriterion("tf =", value, "tf");
            return (Criteria) this;
        }

        public Criteria andTfNotEqualTo(String value) {
            addCriterion("tf <>", value, "tf");
            return (Criteria) this;
        }

        public Criteria andTfGreaterThan(String value) {
            addCriterion("tf >", value, "tf");
            return (Criteria) this;
        }

        public Criteria andTfGreaterThanOrEqualTo(String value) {
            addCriterion("tf >=", value, "tf");
            return (Criteria) this;
        }

        public Criteria andTfLessThan(String value) {
            addCriterion("tf <", value, "tf");
            return (Criteria) this;
        }

        public Criteria andTfLessThanOrEqualTo(String value) {
            addCriterion("tf <=", value, "tf");
            return (Criteria) this;
        }

        public Criteria andTfLike(String value) {
            addCriterion("tf like", value, "tf");
            return (Criteria) this;
        }

        public Criteria andTfNotLike(String value) {
            addCriterion("tf not like", value, "tf");
            return (Criteria) this;
        }

        public Criteria andTfIn(List<String> values) {
            addCriterion("tf in", values, "tf");
            return (Criteria) this;
        }

        public Criteria andTfNotIn(List<String> values) {
            addCriterion("tf not in", values, "tf");
            return (Criteria) this;
        }

        public Criteria andTfBetween(String value1, String value2) {
            addCriterion("tf between", value1, value2, "tf");
            return (Criteria) this;
        }

        public Criteria andTfNotBetween(String value1, String value2) {
            addCriterion("tf not between", value1, value2, "tf");
            return (Criteria) this;
        }

        public Criteria andFrIsNull() {
            addCriterion("fr is null");
            return (Criteria) this;
        }

        public Criteria andFrIsNotNull() {
            addCriterion("fr is not null");
            return (Criteria) this;
        }

        public Criteria andFrEqualTo(String value) {
            addCriterion("fr =", value, "fr");
            return (Criteria) this;
        }

        public Criteria andFrNotEqualTo(String value) {
            addCriterion("fr <>", value, "fr");
            return (Criteria) this;
        }

        public Criteria andFrGreaterThan(String value) {
            addCriterion("fr >", value, "fr");
            return (Criteria) this;
        }

        public Criteria andFrGreaterThanOrEqualTo(String value) {
            addCriterion("fr >=", value, "fr");
            return (Criteria) this;
        }

        public Criteria andFrLessThan(String value) {
            addCriterion("fr <", value, "fr");
            return (Criteria) this;
        }

        public Criteria andFrLessThanOrEqualTo(String value) {
            addCriterion("fr <=", value, "fr");
            return (Criteria) this;
        }

        public Criteria andFrLike(String value) {
            addCriterion("fr like", value, "fr");
            return (Criteria) this;
        }

        public Criteria andFrNotLike(String value) {
            addCriterion("fr not like", value, "fr");
            return (Criteria) this;
        }

        public Criteria andFrIn(List<String> values) {
            addCriterion("fr in", values, "fr");
            return (Criteria) this;
        }

        public Criteria andFrNotIn(List<String> values) {
            addCriterion("fr not in", values, "fr");
            return (Criteria) this;
        }

        public Criteria andFrBetween(String value1, String value2) {
            addCriterion("fr between", value1, value2, "fr");
            return (Criteria) this;
        }

        public Criteria andFrNotBetween(String value1, String value2) {
            addCriterion("fr not between", value1, value2, "fr");
            return (Criteria) this;
        }

        public Criteria andYearIsNull() {
            addCriterion("year is null");
            return (Criteria) this;
        }

        public Criteria andYearIsNotNull() {
            addCriterion("year is not null");
            return (Criteria) this;
        }

        public Criteria andYearEqualTo(String value) {
            addCriterion("year =", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotEqualTo(String value) {
            addCriterion("year <>", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThan(String value) {
            addCriterion("year >", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThanOrEqualTo(String value) {
            addCriterion("year >=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThan(String value) {
            addCriterion("year <", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThanOrEqualTo(String value) {
            addCriterion("year <=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLike(String value) {
            addCriterion("year like", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotLike(String value) {
            addCriterion("year not like", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearIn(List<String> values) {
            addCriterion("year in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotIn(List<String> values) {
            addCriterion("year not in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearBetween(String value1, String value2) {
            addCriterion("year between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotBetween(String value1, String value2) {
            addCriterion("year not between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andMothIsNull() {
            addCriterion("moth is null");
            return (Criteria) this;
        }

        public Criteria andMothIsNotNull() {
            addCriterion("moth is not null");
            return (Criteria) this;
        }

        public Criteria andMothEqualTo(String value) {
            addCriterion("moth =", value, "moth");
            return (Criteria) this;
        }

        public Criteria andMothNotEqualTo(String value) {
            addCriterion("moth <>", value, "moth");
            return (Criteria) this;
        }

        public Criteria andMothGreaterThan(String value) {
            addCriterion("moth >", value, "moth");
            return (Criteria) this;
        }

        public Criteria andMothGreaterThanOrEqualTo(String value) {
            addCriterion("moth >=", value, "moth");
            return (Criteria) this;
        }

        public Criteria andMothLessThan(String value) {
            addCriterion("moth <", value, "moth");
            return (Criteria) this;
        }

        public Criteria andMothLessThanOrEqualTo(String value) {
            addCriterion("moth <=", value, "moth");
            return (Criteria) this;
        }

        public Criteria andMothLike(String value) {
            addCriterion("moth like", value, "moth");
            return (Criteria) this;
        }

        public Criteria andMothNotLike(String value) {
            addCriterion("moth not like", value, "moth");
            return (Criteria) this;
        }

        public Criteria andMothIn(List<String> values) {
            addCriterion("moth in", values, "moth");
            return (Criteria) this;
        }

        public Criteria andMothNotIn(List<String> values) {
            addCriterion("moth not in", values, "moth");
            return (Criteria) this;
        }

        public Criteria andMothBetween(String value1, String value2) {
            addCriterion("moth between", value1, value2, "moth");
            return (Criteria) this;
        }

        public Criteria andMothNotBetween(String value1, String value2) {
            addCriterion("moth not between", value1, value2, "moth");
            return (Criteria) this;
        }

        public Criteria andDayIsNull() {
            addCriterion("day is null");
            return (Criteria) this;
        }

        public Criteria andDayIsNotNull() {
            addCriterion("day is not null");
            return (Criteria) this;
        }

        public Criteria andDayEqualTo(String value) {
            addCriterion("day =", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayNotEqualTo(String value) {
            addCriterion("day <>", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayGreaterThan(String value) {
            addCriterion("day >", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayGreaterThanOrEqualTo(String value) {
            addCriterion("day >=", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayLessThan(String value) {
            addCriterion("day <", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayLessThanOrEqualTo(String value) {
            addCriterion("day <=", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayLike(String value) {
            addCriterion("day like", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayNotLike(String value) {
            addCriterion("day not like", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayIn(List<String> values) {
            addCriterion("day in", values, "day");
            return (Criteria) this;
        }

        public Criteria andDayNotIn(List<String> values) {
            addCriterion("day not in", values, "day");
            return (Criteria) this;
        }

        public Criteria andDayBetween(String value1, String value2) {
            addCriterion("day between", value1, value2, "day");
            return (Criteria) this;
        }

        public Criteria andDayNotBetween(String value1, String value2) {
            addCriterion("day not between", value1, value2, "day");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}